#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int SLDateType;
typedef struct SListNode
{
    //数据域
    SLDateType date;
    //指针域
    struct SListNode* next;
}SLNode;
//打印链表
void SListPrint(SLNode** pphead);
//单链表的尾插
void SListPushBack(SLNode** pphead,SLDateType x);
//单链表的头插
void SListPushFront(SLNode** pphead,SLDateType x);
//单链表的尾删
void SlistPopBack(SLNode** pphead);
//单链表的头删
void SListPopFront(SLNode** pphead);
//单链表的查找
SLNode* SListFind(SLNode** pphead,SLDateType x);
//在指定位置之前插入数据
void SListInsert(SLNode** pphead,SLNode* pos,SLDateType x);
//删除指定位置的结点
void SListErase(SLNode** pphead,SLNode* pos);
//在指定位置之后插入数据
void SListInsertAfert(SLNode* pos,SLDateType x);
//删除指定位置之后的节点
void SListEraseAfert(SLNode* pos);
//链表的销毁
void SListDestroy(SLNode** pphead);

